home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 24 / Amiga Format AFCD24 (Feb 1998, Issue 108).iso / -in_the_mag- / emulation / amiga / uae-0.7.0b2 / src / include / custom.h < prev    next >
C/C++ Source or Header  |  1998-01-20  |  2KB  |  92 lines

  1.  /*
  2.   * UAE - The Un*x Amiga Emulator
  3.   *
  4.   * custom chip support
  5.   *
  6.   * (c) 1995 Bernd Schmidt
  7.   */
  8.  
  9. extern void custom_init(void);
  10. extern void customreset(void);
  11. extern int intlev(void);
  12. extern void dumpcustom(void);
  13.  
  14. extern void do_disk(void);
  15.  
  16. extern void notice_new_xcolors (void);
  17. extern void notice_screen_contents_lost (void);
  18. extern void init_row_map(void);
  19.  
  20. extern int picasso_requested_on;
  21. extern int picasso_on;
  22.  
  23. /* Set to 1 to leave out the current frame in average frame time calculation.
  24.  * Useful if the debugger was active.  */
  25. extern int bogusframe;
  26.  
  27. extern uae_u16 dmacon;
  28. extern uae_u16 intena,intreq;
  29.  
  30. extern int current_hpos (void);
  31. extern int vpos;
  32.  
  33. static __inline__ int dmaen(unsigned int dmamask)
  34. {
  35.     return (dmamask & dmacon) && (dmacon & 0x200);
  36. }
  37.  
  38. #define SPCFLAG_STOP 2
  39. #define SPCFLAG_DISK 4
  40. #define SPCFLAG_INT  8
  41. #define SPCFLAG_BRK  16
  42. #define SPCFLAG_EXTRA_CYCLES 32
  43. #define SPCFLAG_TRACE 64
  44. #define SPCFLAG_DOTRACE 128
  45. #define SPCFLAG_DOINT 256
  46. #define SPCFLAG_BLTNASTY 512
  47. #define SPCFLAG_EXEC 1024
  48. #define SPCFLAG_MODE_CHANGE 8192
  49.  
  50. extern int dskdmaen;
  51. extern uae_u16 adkcon;
  52.  
  53. extern unsigned int joy0dir, joy1dir;
  54. extern int joy0button, joy1button;
  55. extern uae_u32 mousehack_helper (void);
  56.  
  57. extern void INTREQ(uae_u16);
  58. extern uae_u16 INTREQR(void);
  59. extern uae_u16 DMACONR(void);
  60.  
  61. #define maxhpos 227
  62. #define maxvpos 312
  63. /* The HRM says: The vertical blanking area (PAL) ranges from line 0 to line 29,
  64.  * and no data can be displayed there. Nevertheless, we lose some overscan data
  65.  * if this is set to 29. */
  66. #define minfirstline 21
  67. #define vblank_endline 29
  68. #define numscrlines (maxvpos+1-minfirstline+1)
  69.  
  70. #define DMA_AUD0      0x0001
  71. #define DMA_AUD1      0x0002
  72. #define DMA_AUD2      0x0004
  73. #define DMA_AUD3      0x0008
  74. #define DMA_DISK      0x0010
  75. #define DMA_SPRITE    0x0020
  76. #define DMA_BLITTER   0x0040
  77. #define DMA_COPPER    0x0080
  78. #define DMA_BITPLANE  0x0100
  79. #define DMA_BLITPRI   0x0400
  80.  
  81. extern unsigned long frametime, timeframes;
  82.  
  83. /* 50 words give you 800 horizontal pixels. An A500 can't do that, so it ought
  84.  * to be enough. */
  85. #define MAX_WORDS_PER_LINE 50
  86.  
  87. extern uae_u32 hirestab_h[256][2];
  88. extern uae_u32 lorestab_h[256][4];
  89.  
  90. extern uae_u32 hirestab_l[256][1];
  91. extern uae_u32 lorestab_l[256][2];
  92.